Skip to content

docs(skills): publish skills from a docs.yml path and deprecate repository - #5905

Open
matlegault wants to merge 5 commits into
mainfrom
matlegault/skills-path-config-docs
Open

docs(skills): publish skills from a docs.yml path and deprecate repository#5905
matlegault wants to merge 5 commits into
mainfrom
matlegault/skills-path-config-docs

Conversation

@matlegault

@matlegault matlegault commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Blocked on fern-api/fern#16510 — keep as draft until it merges and ships in a release.

That PR adds page-actions.options.skills.path: the CLI discovers a same-repo skills directory, validates the bundle, generates the .well-known/skills/index.json manifest, and publishes it at fern generate --docs, with nothing written back to the repo. It also deprecates page-actions.options.skills.repository — the field is still accepted so existing docs.yml files keep loading, but the CLI no longer forwards it, so the modal stops rendering a "View source" button.

#16510 is still open and unreleased (its changelog sits in changes/unreleased/feat-skills-declared-path.yml), so the Preview Docs check here fails with Invalid object at path $.page-actions.options.skills until it lands.

Changes

  • fern/docs.yml — declare path: ../.agents/skills and drop the hand-listed skills: array and repository:. install-command is set explicitly to npx skills add https://buildwithfern.com/learn: the generated default is built from the bare host, so it would drop our /learn basepath and probe the root domain, which isn't served by the docs app.
  • .agents/skills/fern-docs/ — vendor the fern-docs skill (currently identical to fern-api/skills@main) so it publishes from this site and doubles as the local coding-agent skill.
  • host-skills.mdx — reworked around declaring path: resolution rules (../ allowed, e.g. a repo-root .agents/skills/), what the CLI validates, where the manifest and skills are served, and the basepath caveat on the install command. Adds a note for anyone hand-maintaining fern/.well-known/skills/ or fern/.well-known/agent-skills/ — that passthrough still works when no path is set, and a declared path wins.
  • install-skills-properties.mdx — added the path ParamField; repository is documented as deprecated and ignored rather than removed.
  • site-level-settings.mdx — "Install skills action" example now uses path.
  • changelog entry — rename to the actual ship date before merging.

Remaining steps at release

  1. Merge and release #16510.
  2. Confirm fern/fern.config.json on main (5.59.0 today) is at or past the release containing feat-skills-declared-path.
  3. Re-date the changelog entry, mark ready, merge.

Known gap (not fixed here)

The modal's default install command drops the docs basepath for every hosted site, not just ours — PageActions.tsx resolves useParams().domain to the bare host and only appends a self-hosted basepath. The explicit install-command above works around it for buildwithfern.com/learn; customers on a basepath who adopt path will hit the same thing until fern-platform is fixed.

🤖 Generated with Claude Code

… path

The skills config rework in fern-api/fern#16510 removes the `repository`
display field from page-actions.options.skills (the schema becomes strict)
and adds a `path` field that points the CLI at a directory of skills in the
docs repo, which it validates, bundles, and publishes.

- fern/docs.yml: drop the repository line; keep title/description/learn-more-url,
  the manual skills array, and install-command (npx skills add fern-api/skills)
- host-skills.mdx: rework to recommend declaring page-actions.options.skills.path;
  demote the hand-built .well-known/skills/ convention to a legacy fallback
- install-skills-properties.mdx: add the path ParamField, remove repository
- site-level-settings.mdx: path-based Install skills example, drop repository

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@matlegault matlegault self-assigned this Jun 22, 2026

<Markdown src="/products/docs/snippets/install-skills-properties.mdx" />

## Legacy: hand-built `.well-known/skills/`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.Headings] 'Legacy: hand-built *******************' should use sentence-style capitalization.


<Markdown src="/products/docs/snippets/install-skills-properties.mdx" />

## Legacy: hand-built `.well-known/skills/`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.HeadingColons] Capitalize ': h'.

</ParamField>

<ParamField path="page-actions.options.skills.path" type="string" required={false} toc={true}>
Path to a directory of agent skills in this repo. Resolved relative to the folder containing `docs.yml`; `../` is allowed (e.g. a repo-root `.agents/skills/` directory that also serves local coding agents). Every subdirectory containing a `SKILL.md` is published as one skill: the CLI validates the bundle, generates the `/.well-known/skills/index.json` discovery manifest, and uploads every file so that `npx skills add https://<your-docs-domain>` works. Nothing is written back to your repo.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.Acronyms] 'SKILL' has no definition.

@github-actions

github-actions Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Co-Authored-By: Claude <noreply@anthropic.com>
@matlegault
matlegault marked this pull request as ready for review July 13, 2026 18:42

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 2 additional findings.

Open in Devin Review

matlegault and others added 2 commits August 5, 2026 16:04
fern#16510 no longer removes `page-actions.options.skills.repository` — a
later commit re-added it as deprecated-and-ignored so existing docs.yml
files keep loading. Document it that way instead of dropping it.

The modal's generated install command is built from the bare host
(fern-platform resolves `useParams().domain`, which carries no basepath),
so our /learn basepath is dropped and the command would probe the root
domain. Set `install-command` explicitly and note the caveat wherever the
default is documented. Also refresh the modal description now that the
skill ships from this repo rather than fern-api/skills, and add a
migration note for hand-built .well-known bundles.

Co-Authored-By: Claude <noreply@anthropic.com>
@matlegault matlegault changed the title chore(docs): drop removed skills repository field and document skills path docs(skills): publish skills from a docs.yml path and deprecate repository Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants